有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java删除填充矩形

我试图做一个简单的游戏,将有随机大小和颜色的方块出现在屏幕上的随机位置,你必须点击它们。点击次数越多,得分越高

我所有的东西都在工作,除了,我不知道如何使它,当你点击一个正方形时,它消失了

这是我的矩形代码

g.fillRect(Cube.cubePosX, Cube.cubePosY, Cube.cubeSize, Cube.cubeSize);

位置、大小和颜色已经预先确定,并在另一个类文件中随机选择


共 (3) 个答案

  1. # 1 楼答案

    建议:

    • 不要对正在绘制的矩形进行硬编码
    • 而是创建一个矩形集合,例如在绘图JPanel的paintComponent(...)方法中的for循环中绘制的ArrayList<Rectangle>
    • 然后,当用户单击它们时,将其从ArrayList中删除
    • 这将在MouseListener中完成,并再次使用for循环
    • 但关键是这个循环向后迭代。原因是所有其他矩形中“顶部”的矩形是最后绘制的。如果点击,它们应该是第一个被移除的
    • 删除矩形后,可以在图形JPanel(或JComponent)上调用repaint()
  2. # 2 楼答案

    I am trying to make a simple game that will have squares of random size and color appear at a random location on the screen and you have to click on them

    您也可以使用Swing组件来实现这一点。更多想法请参见Playing With Shapes。您可以向每个组件添加一个MouseListener,只需在单击组件时将其从面板中移除即可

    即使你不想使用组件,你仍然应该考虑使用一个形状,这样你的游戏可以有更多的形状而不仅仅是矩形。然而,在这种情况下,Evercraft的建议都适用

  3. # 3 楼答案

    你需要保留一些缓存,告诉你这些矩形在哪里

    您应该使用此缓存不仅检测单击它们的时间,还可以绘制它们

    更多细节请看How to create a Mouse Listener

    你还发现^{}有一些用处